Kivételek --------- A Visual Studio-ban készítsünk egy Console Application-t (.NET Framework). És a main függvénybe tegyük be a következő utasításokat. ____________________________________________________________________________________ var numberStr = Console.ReadLine(); var number = Int32.Parse(numberStr); ____________________________________________________________________________________ Ha elindítjuk a programot és ha egy egész számokat adunk a programnak bemenő adatként (pl.: 324), akkor hiba nélkül lefut a program. De ha valamilyen szöveget adunk át a programnak (pl.: Hello), akkor a programunk "elszáll". Most próbáljuk meg újra, de ezzel a kódrészlettel: ____________________________________________________________________________________ var numberStr = Console.ReadLine(); try { var number = Int32.Parse(numberStr); } catch (Exception ex) { Console.WriteLine($"Error occured: {ex.Message}"); } ____________________________________________________________________________________ Mostmár lekezeltük a hibát, és nem "száll el" a program. A try blokkon belüli utasítások olyan utasítások, melyek dobhatnak exception-(öke)t. Ha egy kivétel váltódik ki, valamilyen hiba miatt (pl. 0-val való osztás), akkor ott megszakad a program futása, és a catch ágban lévő utasítások fognak végrehajtódni. Feladat ------- Kérjünk be a felhasználótól két számot, majd szorozzuk őket össze, és írjuk ki az eredményt! Megoldás -------- int a, b; string numberStr; Console.WriteLine("Adja meg az első számot:"); do { numberStr = Console.ReadLine(); } while (!Int32.TryParse(numberStr, out a)); Console.WriteLine("Adja meg az második számot:"); do { numberStr = Console.ReadLine(); } while (!Int32.TryParse(numberStr, out b)); Console.WriteLine($"A két szám szorzata: {a * b}"); Extra feladat ------------- Mit csinál a try .. catch .. finally szerkezetben a finally rész?